
 1000  *SAVE NYBBLE GET & PUT
 1010  *--------------------------------
 1020  PNTR   .EQ 0 AND 1
 1030  FLAG   .EQ 2
 1040  *--------------------------------
 1050  *      PUT NEXT NYBBLE AT (PNTR)
 1060  *      IF FLAG = $55, PUT LEFT NYBBLE
 1070  *              = $AA, PUT RIGHT NYBBLE
 1080  *--------------------------------
 1090  PUT.NEXT.NYBBLE
 1100         LDX #0
 1110         LSR FLAG          $55 OR $AA
 1120         BCS .1            ...IT WAS $AA, NOW $54
 1130  *---STORE IN LEFT NYBBLE---------
 1140         ASL          FLAG NOW $AA
 1150         ASL
 1160         ASL
 1170         ASL
 1180         STA (PNTR,X)
 1190         RTS
 1200  *---STORE IN RIGHT NYBBLE--------
 1210  .1     ORA (PNTR,X) MERGE WITH LEFT NYBBLE
 1220         STA (PNTR,X)
 1230         INC FLAG     MAKE $54 INTO $55
 1240         INC PNTR     MOVE PNTR TO NEXT BYTE
 1250         BNE .2
 1260         INC PNTR+1  
 1270  .2     RTS
 1280  *--------------------------------
 1290  *      GET NEXT NYBBLE
 1300  *      IF FLAG = $55, GET LEFT NYBBLE
 1310  *              = $AA, GET RIGHT NYBBLE
 1320  *--------------------------------
 1330  GET.NEXT.NYBBLE
 1340         LDX #0
 1350         LSR FLAG          WAS $55 OR $AA
 1360         LDA (PNTR,X)    GET BYTE WITH NYBBLES
 1370         BCS .1            ...WAS $AA, NOW $54
 1380  *---GET LEFT NYBBLE--------------
 1390         LSR
 1400         LSR
 1410         LSR
 1420         LSR
 1430         RTS
 1440  *---GET RIGHT NYBBLE--------------
 1450  .1     INC FLAG     MAKE $54 INTO $55
 1460         INC PNTR     ADVANCE TO NEXT BYTE
 1470         BNE .2
 1480         INC PNTR+1  
 1490  .2     AND #$0F     ISOLATE NYBBLE
 1500         RTS
 1510  *--------------------------------

